package com.cangshi.service;

import com.cangshi.entity.User;

/**
 * Created by 15c on 2017/4/2.
 */

public interface UserService {

    /**
     * 用于用户通过Telphone注册，并保留一些信息，比如user_stutus，user_power，user_open_id，user_resgister_time，user_resgister_ip
     */
    int addUserByTelphone(User user);

    /**
     * 用于用户通过Email注册，并保留一些信息，比如user_stutus，user_power，user_open_id，user_resgister_time，user_resgister_ip
     */
    int addUserByEmail(User user);
    /**
     * 用户个人资料信息完善 insert
     */

    /**
     * 通过user_Id修改用户的user_stutus，user_power，user_open_id
     *
     * @param user
     * @return
     */

    int updateUserStatePowerOpenIdByUserId(User user);

    /**
     * 通过user_Id修改用户的user_level,user_credit
     */
    int updateUserLevelCredit(User user);

    /**
     * 用户个人资料信息完善 insert
     *
     * @param user
     */
    int userInformationInsert(User user);

    /**
     * 通过user_Id查询用户user_level,user_credit
     */
    User selectUserLevelCredit(User userId);

    /**
     * 通过user_Id查询用户user_state,user_Power
     */
    User selectUserStatePower(User userId);


    /**
     * 用于用户在忘记密码时后通过telphoneNumber查找user_id
     */
    User selectUserIdByTelphone(User telphone);

    /**
     * 用于用户在忘记密码时后通过userEmail查找user_id
     */
    User selectUserIdByuserEmail(User userEmail);

    /**
     * 用于用户在忘记密码时后通过user_id用户重置密码
     */
    int updatePasswordByUserId(User userId);

    /**
     * 用于用户Private_info信息的修改 update
     */
    int updateUserPrivateInfoByUserId(User user);

    /**
     * 通过user_Id查询用户一些基本信息
     */
    User selectUserPartInfoByUserId(Integer userId);

    /**
     * 通过用户id获取其所有信息
     *
     * @param userId
     * @return
     */
    User selectAllUserInfoByUserId(Integer userId);
}
